package com.fuyun.rpc.server.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author: zrq1351
 * @date: 2025/2/14
 */
@Data
@ConfigurationProperties(prefix = "fuyun.rpc")
public class RpcConfig {

	/**
	 * 服务器主机名
	 */
	private String serverHost;

	/**
	 * 服务器端口号
	 */
	private Integer serverPort;

	/**
	 * 模拟调用 返回是自定义对象 确保存在无参构造器
	 */
	private Boolean mock = false;

	/**
	 * 序列化方式
	 */
	private String serializer;

	/**
	 * 注册中心实现类
	 */
	private String registry;

	/**
	 * 协议实现类
	 */
	private String protocol;

	/**
	 * worker 池大小
	 */
	private int workerPoolSize;

	/**
	 * 服务调用超时时间
	 */
	private long maxWorkerExecutionTime;

	/**
	 * 是否启用认证
	 */
	private boolean enableAuth = false;

	/**
	 * 认证实现类
	 */
	private String authenticator;

}